﻿using lingopen.Application;
using lingopen.Application.CRM;
using lingopen.Application.CRM.Models.WorkBill;
using lingopen.Entity;
using lingopen.Entity.CRM;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace lingopen.Application.CRM
{
    public interface ICustomersAppService : IAppService
    {
        #region 查询
        CRM_WorkBill GetWorkBillByCode(int wb);
        CRM_Customer GetCustomer(string custCode);
        PagedData<WorkBillModel> GetWorkBill(Pagination pagination, string cust_id, string keyword);
        PagedData<CRM_Customer_WxUser> GetWxStaff(Pagination pagination,string cust_id, string keyword);

        PagedData<CRM_Customer> GetCustomersList(Pagination pagination, string keyword);
        PagedData<CRM_PMS> GetPMSsList(Pagination pagination, string keyword);

        #endregion
        #region CUD
        void Add(AddCustomerInput input);
        void Update(UpdateCustomerInput input);
        void DeleteById(string id);
        List<SimpleCustomerModel> GetCustomerSimpleModels();

        List<SimplePMSModel> GetPMSsSimpleModels();
       


        ///// <summary>
        ///// 增加工作人员和酒店的关联CRM_Customer_WxStaff
        ///// </summary>
        ///// <param name="openId"></param>
        ///// <param name="customerCode"></param>
        ///// <returns></returns>
        //bool AddCRMStaff(string openId, string customerCode);
        ///// <summary>
        ///// 删除工作人员和酒店的关联
        ///// </summary>
        ///// <param name="openId"></param>
        ///// <param name="customerCode"></param>
        ///// <returns></returns>
        //bool DeleteCRMStaff(string openId, string customerCode);
        #endregion
    }
}
